/**
 * 将时间字符串转换为毫秒数
 * 支持的格式: '7d', '24h', '60m', '60s'
 * @param timeStr - 时间字符串
 * @returns 转换后的毫秒数
 * @throws {Error} 当时间格式无效时抛出错误
 */
export function timeToMs(timeStr: string): number {
  // 匹配数字和单位
  const match = timeStr.match(/^(\d+)([dhms])$/)
  if (!match) {
    throw new Error(`无效的时间格式: ${timeStr}，支持的格式: '7d', '24h', '60m', '60s'`)
  }

  const value = parseInt(match[1], 10)
  const unit = match[2]

  switch (unit) {
    case 'd': // 天
      return value * 24 * 60 * 60 * 1000
    case 'h': // 小时
      return value * 60 * 60 * 1000
    case 'm': // 分钟
      return value * 60 * 1000
    case 's': // 秒
      return value * 1000
    default:
      throw new Error(`不支持的时间单位: ${unit}`)
  }
}
